System and method for providing augmented reality challenges

ABSTRACT

A system and method for providing augmented reality challenges. The method includes obtaining at least one multimedia content element; causing generation of at least one signature for each obtained multimedia content element; determining, based on the generated signatures, at least one augmented reality challenge; identifying, based on the determined at least one augmented reality challenge, at least one augmented reality object; creating at least one challenge multimedia content element by causing addition of the at least one augmented reality object to the obtained at least one multimedia content element; and causing a display of the created at least one challenge multimedia content element.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No.62/371,862 filed on Aug. 8, 2016. This application is acontinuation-in-part (CIP) of U.S. patent application Ser. No.14/050,991 filed on Oct. 10, 2013, now pending, which claims the benefitof U.S. Provisional Application No. 61/860,261 filed on Jul. 31, 2013.The Ser. No. 14/050,991 application is a continuation-in-part of U.S.patent application Ser. No. 13/602,858 filed on Sep. 4, 2012, now U.S.Pat. No. 8,868,619, which is a continuation of U.S. patent applicationSer. No. 12/603,123 filed on Oct. 21, 2009, now U.S. Pat. No. 8,266,185.The Ser. No. 12/603,123 application is a continuation-in-part of:

(1) U.S. patent application Ser. No. 12/084,150 having a filing date ofApr. 7, 2009, now U.S. Pat. No. 8,655,801, which is the National Stageof International Application No. PCT/IL2006/001235 filed on Oct. 26,2006, which claims foreign priority from Israeli Application No. 171577filed on Oct. 26, 2005, and Israeli Application No. 173409 filed on Jan.29, 2006;

(2) U.S. patent application Ser. No. 12/195,863 filed on Aug. 21, 2008,now U.S. Pat. No. 8,326,775, which claims priority under 35 USC 119 fromIsraeli Application No. 185414 filed on Aug. 21, 2007, and which is alsoa continuation-in-part of the above-referenced U.S. patent applicationSer. No. 12/084,150;

(3) U.S. patent application Ser. No. 12/348,888 filed on Jan. 5, 2009,now pending, which is a continuation-in-part of the above-mentioned U.S.patent application Ser. Nos. 12/084,150 and 12/195,863; and

(4) U.S. patent application Ser. No. 12/538,495 filed on Aug. 10, 2009,now U.S. Pat. No. 8,312,031, which is a continuation-in-part of theabove-referenced U.S. patent application Ser. Nos. 12/084,150,12/195,863, and 12/348,888.

All of the applications referenced above are herein incorporated byreference.

TECHNICAL FIELD

The present disclosure relates generally to analysis of multimediacontent, and more specifically to adding augmented reality objects tomultimedia content based on analysis of the multimedia content.

BACKGROUND

The vast growth of content available over the Internet has led to asignificant increase in the amount of time people spend interacting withcomputers. This can be especially common in children, who are moreinclined to stay indoors to play electronic games than to go outside andparticipate and physical activities.

Research has shown that, during the 1970s and 1980s, childrenparticipated on average in over two hours of play outside each weekdayand a further nine hours of play outside on weekends. Currently, thetime children spend outside playing is estimated at no more than an houreach weekday, and less than 5 hours on weekends. The decrease in timespent performing physical activities for people generally and childrenin particular is concerning because physical activity is not onlyimportant for remaining active and healthy, but also for socializing.

Augmented reality (AR) technology typically presents real worldinformation (e.g., an image of a real world environment) augmented byvirtual information (e.g., images, text, sounds, etc.). Such real worldinformation may include data from various sensors such as, but notlimited to, accelerometers, GPS devices, compasses, gyroscopes,proximity sensors, cameras, and microphones.

Virtual objects are objects within a software application that can bedisplayed on a display of a computing device. In the context of digitalgaming, virtual objects may be utilized to populate the virtual worldcreated by an application. These virtual objects may include, but arenot limited to, video game characters, trees, mountains, animals,fireworks, arrows, monsters, sports balls, and other environmentaleffects.

A common application of AR technology is for displaying real worldimagery including live video or still images, and overlaying (i.e.,superimposing) virtual objects on the real world imagery. To producesuch AR imagery, a camera captures a video or still image of the realworld, and a computing device superimposes one or more virtual objectsover the captured video or still image.

AR images can be more entertaining when the virtual objects shown in theAR imagery convincingly appear to exist in the real world. However, inmany cases, the depiction of interactions between virtual and real worldobjects in AR imagery is less than realistic. As a result, userengagement with the games or any other content may be decreased by theless than realistic depiction, thereby causing lower levels of userengagement.

AR games can be utilized to encourage physical activity. For example,augmented reality games may cause displays of characters based onlocation and movements of a user device. This location andmovement-based character display may cause users to actively andphysically move to different locations in order to interact with thecharacters.

It would therefore be advantageous to provide a solution that wouldovercome the deficiencies of the prior art.

SUMMARY

A summary of several example embodiments of the disclosure follows. Thissummary is provided for the convenience of the reader to provide a basicunderstanding of such embodiments and does not wholly define the breadthof the disclosure. This summary is not an extensive overview of allcontemplated embodiments, and is intended to neither identify key orcritical elements of all embodiments nor to delineate the scope of anyor all aspects. Its sole purpose is to present some concepts of one ormore embodiments in a simplified form as a prelude to the more detaileddescription that is presented later. For convenience, the term “someembodiments” may be used herein to refer to a single embodiment ormultiple embodiments of the disclosure.

The embodiments disclosed herein include a method for providingaugmented reality challenges. The method comprises: obtaining at leastone multimedia content element; causing generation of at least onesignature for each obtained multimedia content element; determining,based on the generated signatures, at least one augmented realitychallenge; identifying, based on the determined at least one augmentedreality challenge, at least one augmented reality object; creating atleast one challenge multimedia content element by causing addition ofthe at least one augmented reality object to the obtained at least onemultimedia content element; and causing a display of the created atleast one challenge multimedia content element.

The embodiments disclosed herein also include a non-transitorycomputer-readable medium having stored thereon instructions for causingone or more processing units to execute a method, the method comprising:obtaining at least one multimedia content element; causing generation ofat least one signature for each obtained multimedia content element;determining, based on the generated signatures, at least one augmentedreality challenge; identifying, based on the determined at least oneaugmented reality challenge, at least one augmented reality object;creating at least one challenge multimedia content element by causingaddition of the at least one augmented reality object to the obtained atleast one multimedia content element; and causing a display of thecreated at least one challenge multimedia content element.

The embodiments disclosed herein also include a system for providingaugmented reality challenges. The system comprises: a processingcircuitry; and a memory, the memory containing instructions that, whenexecuted by the processing circuitry, configure the system to: obtain atleast one multimedia content element; cause generation of at least onesignature for each obtained multimedia content element; determine, basedon the generated signatures, at least one augmented reality challenge;identify, based on the determined at least one augmented realitychallenge, at least one augmented reality object; create at least onechallenge multimedia content element by causing addition of the at leastone augmented reality object to the obtained at least one multimediacontent element; and cause a display of the created at least onechallenge multimedia content element.

BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter disclosed herein is particularly pointed out anddistinctly claimed in the claims at the conclusion of the specification.The foregoing and other objects, features, and advantages of thedisclosed embodiments will be apparent from the following detaileddescription taken in conjunction with the accompanying drawings.

FIG. 1 is a network diagram utilized to describe the various disclosedembodiments.

FIG. 2 is a flowchart illustrating providing challenges using augmentedreality objects according to an embodiment.

FIG. 3 is a flowchart illustrating a method for determining whether auser met an augmented reality challenge according to an embodiment.

FIG. 4 is a block diagram depicting the basic flow of information in thesignature generator system.

FIG. 5 is a diagram showing the flow of patches generation, responsevector generation, and signature generation in a large-scalespeech-to-text system.

FIG. 6 is an example block diagram of a user device configured toprovide augmented reality challenges according to an embodiment.

FIG. 7 is a flowchart illustrating generating a customized augmentedreality challenge according to an embodiment.

DETAILED DESCRIPTION

It is important to note that the embodiments disclosed herein are onlyexamples of the many advantageous uses of the innovative teachingsherein. In general, statements made in the specification of the presentapplication do not necessarily limit any of the various claimedembodiments. Moreover, some statements may apply to some inventivefeatures but not to others. In general, unless otherwise indicated,singular elements may be in plural and vice versa with no loss ofgenerality. In the drawings, like numerals refer to like parts throughseveral views.

The various disclosed embodiments include a method and system forproviding augmented reality challenges. At least one multimedia contentelement is obtained. At least one signature is generated for eachmultimedia content element. At least one concept is identified based onthe multimedia content elements, where each concept is a collection ofsignatures and metadata representing the concept. Based on the conceptsand signatures, metadata is generated. At least one augmented realitychallenge is determined based on the metadata. At least one augmentedreality object is generated for each augmented reality challenge andadded to the at least one multimedia content element as an overlay. In afurther embodiment, sensor data is received from a user device on whichthe overlaid at least one multimedia content element was displayed, andthe sensor data is analyzed to determine whether the at least oneaugmented reality challenge was completed.

FIG. 1 shows an example network diagram 100 utilized to describe thevarious disclosed embodiments. A network 110 is used to communicatebetween different parts of the system 100. The network 110 may be theInternet, the world-wide-web (WWW), a local area network (LAN), a widearea network (WAN), a metro area network (MAN), and other networkscapable of enabling communication between the elements of the system100.

Further connected to the network 110 is a user device (UD) 120, a server130, a signature generator system (SGS) 140, a database 150, and a deepcontent classification (DCC) system 160. The user device 120 may be, butis not limited to, a personal computer (PC), a personal digitalassistant (PDA), a mobile phone, a smart phone, a tablet computer, anelectronic wearable device (e.g., glasses, a watch, etc.), or any otherkinds of wired or mobile appliance, equipped with browsing, viewing,capturing, storing, listening, filtering, and managing capabilitiesenabled as further discussed herein below.

The user device 120 may further have a software application (App) 125installed thereon. The application 125 may be downloaded from anapplication repository such as, e.g., AppStore®, Google Play®, or anyother repository hosting software applications. The application 125 maybe pre-installed in the user device 120. The application 125 may be aweb browser. It should be noted that the embodiments described hereinwith respect to FIG. 1 are discussed with respect to one user device 120and one application 125 merely for simplicity purposes and withoutlimitation on the disclosed embodiments. The embodiments disclosedherein are equally applicable to multiple user devices, and each userdevice may be installed with one or more applications.

Also communicatively connected to the network 110 is the database 150.The database 150 may store information such as, but not limited to,multimedia content elements, metadata related to multimedia contentelements, metadata associated with users and user devices, rules fordetermining challenges, rules for selecting augmented reality objectsfor challenges, rules for placing augmented reality objects forchallenges (e.g., overlaying an augmented reality object on a multimediacontent element showing a particular geographical location, overlayingan augmented reality object over a particular real world object, etc.),combinations thereof, and the like. As shown in FIG. 1, the server 130may communicate with the database 150 through the network 110. In othernon-limiting embodiments, the server 130 is directly connected to thedatabase 150.

In an embodiment, the server 130 is configured to communicate with theSGS 140 and the DCC system 160 to perform the various disclosedembodiments. The SGS 140 and the DCC 160 may be connected to the server130 directly, or may communicate with the server 130 over the network110. In some configurations, the SGS 140, the DCC system 160, or both,may be integrated within the server 130.

The server 130 typically includes a processing circuitry 132 coupled toa memory 134.

The memory 134 contains instructions that can be executed by theprocessing circuitry 132. The instructions, when executed by theprocessing circuitry 132, configure the server 130 to perform thevarious disclosed methods. The server 130 also typically includes anetwork interface (not shown) utilized for communicating with thenetwork 110.

The processing circuitry 132 may comprise or be a component of aprocessor (not shown) or an array of processors. The one or moreprocessors may be implemented with any combination of general-purposemicroprocessors, multi-core processors, microcontrollers, digital signalprocessors (DSPs), field programmable gate array (FPGAs), programmablelogic devices (PLDs), controllers, state machines, gated logic, discretehardware components, dedicated hardware finite state machines, or anyother suitable entities that can perform calculations or othermanipulations of information.

The processing circuitry 120 may also include machine-readable media forstoring software. Software shall be construed broadly to mean any typeof instructions, whether referred to as software, firmware, middleware,microcode, hardware description language, or otherwise. Instructions mayinclude code (e.g., in source code format, binary code format,executable code format, or any other suitable format of code). Theinstructions, when executed by the one or more processors, cause theprocessing system to perform the various functions described herein.

In another embodiment, the processing circuitry 132 can be realized anarray of computational cores having properties that are at least partlystatistically independent from other cores of the plurality ofcomputational cores. The array of computational cores configured asdescribed further herein below.

The server 130 is configured to receive and utilize multimedia contentelements. To this end, the server 130 may be configured to, but notlimited to, identify metadata associated with the multimedia contentelement, save the received multimedia content elements and associatedmetadata in the database 150 or in the user device 120, generateaugmented reality challenges based on metadata, generate augmentedreality objects for challenges, and more. A multimedia content may be ormay include, but is not limited to, an image, a graphic, a video stream,a video clip, an audio stream, an audio clip, a video frame, aphotograph, and an image of signals (e.g., spectrograms, phasograms,scalograms, etc.), a combination thereof, and a portion thereof.

In an embodiment, the server 130 is configured to obtain at least onemultimedia content element. The obtained at least one multimedia contentelement may be included in a request to provide a physical challengebased on the at least one multimedia content element. The server 130 isconfigured to send each identified multimedia content element to the SGS140, the DCC system 160, or both. To which system(s) the multimediacontent elements should be sent may be predetermined, or may bedetermined based on the results by returned by each system. For example,if the DCC 160 returns a concept based on the identified multimediacontent element, there is no need to generate a signature for theelement.

In another embodiment, the server 130 may be configured to, for the atleast one multimedia content element, whether to provide an augmentedreality challenge. In a further embodiment, the determination may bebased on metadata associated with the at least one multimedia contentelement. As a non-limiting example, if metadata associated with the atleast one multimedia content element indicates that the at least onemultimedia content element was recently captured (e.g., within 2 minutesof the determination), the server 130 may determine that a challengeshould be provided.

Each obtained multimedia content element is typically an image or videoillustrating an area in the real world. It should be noted, however,that other types of multimedia contents, both now known and hereinafterdeveloped, may be utilized for generating the customized augmentedreality environment. Further, although the identified multimedia contentelements may show the real world, the embodiments disclosed herein arenot limited as such and may include superimposing characters onmultimedia content representing, e.g., virtual reality or any otherwiseartificial (i.e., not necessarily part of the real physical world) areasmay be equally utilized without departing from the scope of thedisclosure. For example, images from a virtual reality program may beanalyzed and further enhanced by generating customized augmented realityenvironments based on the virtual reality images.

In an embodiment, the SGS 140 is configured to receive a multimediacontent element and to generate at least one signature for each of thereceived at least one multimedia content element. The at least onesignature can be generated using a plurality of computational cores,where each core of the plurality of computational cores is at leastpartially statistically independent of the other computational cores. Ina further embodiment, each generated signature is robust to noise anddistortion. The generation of signatures for multimedia content elementsis described further herein below.

In an embodiment, based on the generated signatures, the server 130 isconfigured to determine at least one augmented reality challenge. The atleast one augmented reality challenge may be stored in, e.g., thedatabase 150. To this end, in an embodiment, the server 130 may beconfigured to query the database 150 using the generated signatures. Ina further embodiment, each augmented reality challenge may be or mayinclude a physical challenge, i.e., a challenge that requires the userof the user device 120 to perform some physical activity to becompleted. The challenge may include, but is not limited to, providing auser gesture (e.g., swiping, sliding, tapping, or otherwise interactingwith the user device), answering one or more questions, performing aphysical task (e.g., running, jumping, walking, climbing, etc.),combinations thereof, and the like. In a further embodiment, thechallenge may include condition requirements such as, but not limitedto, moving to a particular geographical location or series ofgeographical locations, moving at least a particular distance, and thelike.

In an embodiment, the server 130 is configured to generate at least oneaugmented reality object for each determined augmented realitychallenge, and to add the generated at least one augmented realityobject to the obtained at least one multimedia content element as anoverlay. Each augmented reality object is a multimedia content elementand may represent, but is not limited to, a character, a mark, an item(e.g., food, books, statues, buildings, plants, bodies of water, etc.),an animal, text, and the like.

As a non-limited example for providing an augmented reality challenge,an image of Times Square in Manhattan, N.Y., is captured by the userdevice 120. Metadata associated with the image indicates that it wastaken 5 seconds ago. Based on the metadata, it is determined that anaugmented reality challenge in Times Square should be provided. Asignature is generated for the image of Times Square and the database150 is queried, based on the generated signature. The query returns anaugmented reality challenge indicating that the user must find a redflag augmented reality object near a pizzeria in Times Square. When theuser device 120 captures an image including the pizzeria, the server 130adds the red flag the image as an overlay and causes a display of theoverlaid image on the user device 120.

In a further embodiment, the server 130 may be configured to generatecustomized augmented reality challenges for the user of the user device120. In yet a further embodiment, the customized augmented realitychallenge may be generated based on metadata (e.g., metadata stored inthe database 150). To this end, in an embodiment, the server 130 isconfigured to identify metadata associated with the user device 120, theuser of the user device 120, or both. The metadata may indicate, but isnot limited to, personal variables associated with the user,environmental variables associated with the user device 120, or both.The personal variables may include, but are not limited to, previouschallenges presented to the user, scores for previous challenges, anaverage speed of the user, age, demographic information, intelligence,physical limitations (e.g., handicaps, heart conditions, allergies,etc.), and the like. The environmental variables may include, but arenot limited to, previous challenges determined based on similarmultimedia content elements, a current location of the user device 120,previous locations of the user device 120, time, weather, and the like.

In yet a further embodiment, the metadata used for generating thecustomized augmented reality challenges may include metadata associatedwith the obtained at least one multimedia content element. Themultimedia content element metadata may include, but is not limited to,a time of capture of a multimedia content element, a geographic locationof capture of the multimedia content element, a user-added annotation,and the like.

As a non-limiting example for generating a customized augmented realitychallenge, metadata associated with the user and with the user device120 is identified. The metadata includes physical variables indicatingthat the user is age 12, that the user previously ran up a hill in 43seconds, and that the user device 120 is at a geographic location of thehill. The metadata is analyzed. Based on the metadata, a challenge torun up the hill in less than 40 seconds is generated. The challengeincludes text indicating the goal of the challenge, and is added tomultimedia content elements showing the hill as an overlay.

In another embodiment, the signature for an obtained multimedia contentelement may be determined based on a concept structure. The signaturefor each received multimedia content element may be representative of atleast one concept structure (hereinafter referred to as a “concept”). Aconcept is a collection of signatures representing elements of theunstructured data and metadata describing the concept. As a non-limitingexample, a ‘Superman concept’ is a signature-reduced cluster ofsignatures describing elements (such as multimedia elements) related to,e.g., a Superman cartoon: a set of metadata representing proving textualrepresentation of the Superman concept. Techniques for generatingconcept structures (or “concepts”) are also described in theabove-referenced U.S. Pat. No. 8,266,185 (hereinafter '185) toRaichelgauz, et al., which is assigned to common assignee, and isincorporated hereby by reference for all that it contains.

According to this embodiment, the server 130 is configured to send, tothe DCC system 160, a query for matching the multimedia content elementto at least one concept structure. If a match is found, the metadata ofthe matching concept may be utilized to, e.g., generate the at least onecustomized augmented reality challenge. The matching may include, but isnot limited to, matching at least one signature generated for themultimedia content element to a plurality of concept signatures, whereeach concept signature represents a concept. The signatures generatedfor the multimedia content element may be generated by, e.g., the SGS140, the DCC system 160, and the like. The matching may be performed forall concepts maintained by the DCC system 160.

It should be noted that if multiple concepts are determined to match amultimedia content element, the server 130 may be configured tocorrelate among the matching concepts to generate a tag or othermetadata that best describes the multimedia content element. Thecorrelation may further be based on, but not limited to, a ratio betweensignatures' respective sizes, a spatial location of each signature, oneor more probabilistic models, and the like.

In a further embodiment, a user response to the challenge may besubsequently received as sensor data from the user device 120. Thesensor data may include, but is not limited to, interactions with atouch screen, images, videos, audio, GPS signals, magnetometer signals,gyroscope signals, accelerometer signals, light sensor signals,combinations thereof, and other sensor signals. Based on the sensordata, the server 130 may be configured to determine whether the usercompleted the challenge. As a non-limiting example, if the challenge isto walk up a hill, the received sensor data may include accelerometersignals. The accelerometer signals may be analyzed to determine that theuser did walk up a hill and, therefore, completed the challenge.

In yet a further embodiment, the server 130 may be configured to analyzethe sensor data and to generate, based on the analysis, a scoreindicating a level of performance of the user. In a further embodiment,the server 130 is configured to send the score to the user device 120.In another embodiment, the score may be sent for storage in, e.g., thedatabase 150.

It should be noted that the signatures generated for the multimediacontent elements enables accurate analysis of the elements, because thesignatures generated according to the disclosed embodiments allow forrecognition and classification of multimedia content.

It should also be noted that the SGS 140 is shown in FIG. 1 as aseparate device from the server 130 and from the user device 120 merelyfor simplicity purposes and without limitation on the disclosedembodiments. The SGS 140 may be included in the server 130 or the userdevice 120 without departing from the scope of the disclosure. Inclusionof a signature generator in a user device is described further hereinbelow with respect to FIG. 6.

FIG. 2 is an example flowchart 200 illustrating a method for providingaugmented reality challenges according to an embodiment. In anembodiment, the method may be performed by a server (e.g., the server130) based on multimedia content elements captured by a user device(e.g., the user device 120). In another embodiment, part or all of themethod may be performed by an application (e.g., the application 125)installed on a user device.

At S210, at least one multimedia content element is obtained. The atleast one multimedia content element may be captured by the user device,and may be, e.g., received from the user device, retrieved from adatabase (e.g., the database 150), and the like.

At optional S220, based on the obtained at least one multimedia contentelement, it may be determined whether a challenge should be providedand, if so, execution continues with S230; otherwise, executionterminates. In a further embodiment, S220 may include identifyingmetadata associated with the at least one multimedia content element anddetermining, based on the metadata, whether to provide the challenge.The determination of whether to provide the challenge may be furtherbased on one or more predetermined challenge provision rules. As anon-limiting example, a challenge provision rule may indicate that achallenge should only be issued if the at least one multimedia contentelement was captured recently (e.g., within a predetermined thresholdamount of time from a current time).

At S230, generation of at least one signature is caused for eachobtained multimedia content element. In an embodiment, each signaturemay be generated by a signature generator (e.g., the SGS 140) asdescribed further herein below with respect to FIGS. 4 and 5.

At optional S240, metadata may be identified. The metadata may bemetadata stored in a database (e.g., the database 150), or in a storageof the user device. The metadata may be metadata associated with, butnot limited to, the user, the user device, the obtained at least onemultimedia content element, a combination thereof, and the like.

At S250, at least one augmented reality challenge is determined for theat least one multimedia content element. The at least one augmentedreality challenge may be determined based on, but not limited to, thegenerated signatures, the identified metadata, a combination thereof,and the like. In an embodiment, S250 may further include generating atleast one customized augmented reality challenge. Generating acustomized augmented reality challenge is described further herein belowwith respect to FIG. 7.

At S260, at least one augmented reality object to be added to the atleast one multimedia content element is identified. Each augmentedreality object is a multimedia content element. The identified augmentedreality objects may be associated with the determined challenge.

At S270, the identified at least one augmented reality object is addedto the at least one multimedia content element as an overlay to createat least one challenge multimedia content element. In an embodiment,S270 further causing a display of the at least one challenge multimediacontent element. In a further embodiment, S270 includes sending theoverlaid at least one multimedia content element to the user device.

At S280, it is determined whether additional multimedia content elementshave been obtained and, if so, execution continues with S210; otherwise,execution terminates.

FIG. 3 is an example flowchart 300 illustrating a method for determiningwhether an augmented reality challenge has been completed according toan embodiment. In an embodiment, the method may be performed by a server(e.g., the server 130), a user device (e.g., the user device 120), orpartially performed on both a server and a user device. The augmentedreality challenge may be an augmented reality challenge provided, forexample, via at least one challenge multimedia content element asdescribed herein above with respect to FIG. 2.

At S310, data associated with a user response to the augmented realitychallenge is obtained. The user response data may include, but is notlimited to, sensor data as described further herein above. The userresponse data represents a response by the user of the user device tothe augmented reality challenge including, for example, answers toquestions, user gestures made via the user device, physical actions(e.g., walking, running, climbing, relocating, etc.), combinationsthereof, and the like.

At S320, at least one challenge threshold is determined. The challengethresholds represent requirements for completing the challenges and mayinclude, but are not limited to, a distance traveled, a set of requiredactions, a new geographical location, and the like. In an embodiment,S320 includes retrieving the at least one challenge threshold from adatabase (e.g., the database 150). Each challenge threshold may bedetermined based on, e.g., the augmented reality challenge. For example,the database may include a set of augmented reality challenges andcorresponding challenge thresholds.

At S330, it is determined whether the at least one challenge thresholdwas met and, if so, execution continues with S360; otherwise, executioncontinues with S340.

At optional S340, a notification indicating that the challenge was notcompleted may be generated and sent (e.g., to the user device), andexecution continues with S350. In an embodiment, the notification may begenerated and sent only if the at least one challenge threshold was notmet a predetermined number of times. For example, a notificationindicating that the challenge was not completed may only be generatedand sent after the third time user response data was received that didnot meet the at least one challenge threshold.

At S350, it is checked whether additional user response data has beenreceived and, if so, execution continues with S310; otherwise, executionterminates. Checking for additional user response data allows the useradditional opportunities (e.g., the predetermined number of times) tocomplete the challenge before a failure to complete notification issent.

At S360, a notification indicating that the challenge has been completedis generated and sent (e.g., to the user device). In an embodiment, S360further includes determining a user performance score based on the userresponse data. In a further embodiment, the user performance score maybe determined further based on user performance data of other usersstored in a database (e.g., the database 150).

FIGS. 4 and 5 illustrate the generation of signatures for the multimediacontent elements by the SGS 140 according to one embodiment. Anexemplary high-level description of the process for large scale matchingis depicted in FIG. 4. In this example, the matching is for a videocontent.

Video content segments 2 from a Master database (DB) 6 and a Target DB 1are processed in parallel by a large number of independent computationalCores 3 that constitute an architecture for generating the Signatures(hereinafter the “Architecture”). Further details on the computationalCores generation are provided below. The independent Cores 3 generate adatabase of Robust Signatures and Signatures 4 for Targetcontent-segments 5 and a database of Robust Signatures and Signatures 7for Master content-segments 8. An exemplary and non-limiting process ofsignature generation for an audio component is shown in detail in FIG.4. Finally, Target Robust Signatures and/or Signatures are effectivelymatched, by a matching algorithm 9, to Master Robust Signatures and/orSignatures database to find all matches between the two databases.

To demonstrate an example of the signature generation process, it isassumed, merely for the sake of simplicity and without limitation on thegenerality of the disclosed embodiments, that the signatures are basedon a single frame, leading to certain simplification of thecomputational cores generation. The Matching System is extensible forsignatures generation capturing the dynamics in-between the frames. Inan embodiment the server 130 is configured with a plurality ofcomputational cores to perform matching between signatures.

The Signatures' generation process is now described with reference toFIG. 5. The first step in the process of signatures generation from agiven speech-segment is to breakdown the speech-segment to K patches 14of random length P and random position within the speech segment 12. Thebreakdown is performed by the patch generator component 21. The value ofthe number of patches K, random length P and random position parametersis determined based on optimization, considering the tradeoff betweenaccuracy rate and the number of fast matches required in the flowprocess of the server 130 and SGS 140. Thereafter, all the K patches areinjected in parallel into all computational Cores 3 to generate Kresponse vectors 22, which are fed into a signature generator system 23to produce a database of Robust Signatures and Signatures 4.

In order to generate Robust Signatures, i.e., Signatures that are robustto additive noise L (where L is an integer equal to or greater than 1)by the Computational Cores 3 a frame T is injected into all the Cores 3.Then, Cores 3 generate two binary response vectors: {right arrow over(S)} which is a Signature vector, and {right arrow over (RS)} which is aRobust Signature vector.

For generation of signatures robust to additive noise, such asWhite-Gaussian-Noise, scratch, etc., but not robust to distortions, suchas crop, shift and rotation, etc., a core Ci={ni} (1≤i≤L) may consist ofa single leaky integrate-to-threshold unit (LTU) node or more nodes. Thenode ni equations are:

$V_{i} = {\sum\limits_{j}\; {w_{ij}k_{j}}}$ n_(i) = θ(Vi − Th_(x))

where, θ is a Heaviside step function; w_(ij) is a coupling node unit(CNU) between node i and image component j (for example, grayscale valueof a certain pixel j); kj is an image component ‘j’ (for example,grayscale value of a certain pixel j); Thx is a constant Thresholdvalue, where ‘x’ is ‘S’ for Signature and ‘RS’ for Robust Signature; andVi is a Coupling Node Value.

The Threshold values Thx are set differently for Signature generationand for Robust Signature generation. For example, for a certaindistribution of Vi values (for the set of nodes), the thresholds forSignature (Th_(S)) and Robust Signature (Th_(RS)) are set apart, afteroptimization, according to at least one or more of the followingcriteria.

For: V _(i) >Th _(RS)

1−p(V>Th _(S))−1−(1−ε)^(l)<<  1:

i.e., given that l nodes (cores) constitute a Robust Signature of acertain image I, the probability that not all of these I nodes willbelong to the Signature of same, but noisy image, Ĩ is sufficiently low(according to a system's specified accuracy).

p(V _(i) >Th _(RS))≈l/L  2:

i.e., approximately l out of the total L nodes can be found to generatea Robust Signature according to the above definition.

-   -   3: Both Robust Signature and Signature are generated for certain        frame i.

In order to generate signatures robust to additive noises, such asWhite-Gaussian-Noise, scratch, etc., and robust to distortions, such ascrop, shift and rotation, etc., the core C_(i) should consist of a groupof nodes (LTUs): C_(i)={n_(im)}, where m is the number of nodes in eachcore I, generated according to certain statistical processes, modelingvariants of certain set of distortions.

The first step in generation of distortions-invariant signatures is togenerate m Signatures and Robust Signatures, based on each of the mnodes in all the L cores, according to the previously described (above)algorithm. The next step is to determine a subset V of m potentialsignatures-variants for certain frame i. This is done by defining acertain consistent and robust selection criterion, for example, selecttop f signature-variants out of m, with highest firing-rate across all Lcomputational cores. The reduced set will be used as Signature andRobust Signature, invariant to distortions which were defined and usedin the process of computational cores generation.

It should be understood that the generation of a signature isunidirectional, and typically yields lossless compression, where thecharacteristics of the compressed data are maintained but theuncompressed data cannot be reconstructed. Therefore, a signature can beused for the purpose of comparison to another signature without the needof comparison to the original data. The detailed description of theSignature generation can be found in U.S. Pat. Nos. 8,326,775 and8,312,031, assigned to common assignee, which are hereby incorporated byreference for all the useful information they contain.

A Computational Core generation is a process of definition, selection,and tuning of the parameters of the cores for a certain realization in aspecific system and application. The process is based on several designconsiderations, such as:

(a) The Cores should be designed so as to obtain maximal independence,i.e., the projection from a signal space should generate a maximalpair-wise distance between any two cores' projections into ahigh-dimensional space.

(b) The Cores should be optimally designed for the type of signals,i.e., the Cores should be maximally sensitive to the spatio-temporalstructure of the injected signal, for example, and in particular,sensitive to local correlations in time and space. Thus, in some cases acore represents a dynamic system, such as in state space, phase space,edge of chaos, etc., which is uniquely used herein to exploit theirmaximal computational power.

(c) The Cores should be optimally designed with regard to invariance toa set of signal distortions, of interest in relevant applications.

A detailed description of the Computational Core generation and theprocess for configuring such cores is discussed in more detail in theabove-mentioned U.S. Pat. No. 8,655,801.

FIG. 6 is an example block diagram of a user device 120 configured togenerate and display a customized augmented reality environmentaccording to an embodiment. The user device 120 includes a processingcircuitry 610 coupled to a memory 615. The memory contains instructionsthat, when executed by the processing circuitry 610, configures the userdevice 120 to generate and display the augment reality environment andchallenges of other applications (e.g., the app 125, FIG. 1) installedin the user device 120. The user device 120 may further include anaugmented reality (AR) generator 620, a local storage 630, a display640, and a signature generator (SG) 650.

The signature generator 650 may be configured to generate signatures formultimedia content elements. In a further embodiment, the signaturegenerator 610 includes a plurality of computational cores as discussedfurther herein above, where each computational core is at leastpartially statistically independent of the other computational cores.

The data storage 630 may store a plurality of multimedia contentelements, a plurality of concepts, signatures for the multimedia contentelements, signatures for the concepts, or a combination thereof. In afurther embodiment, the data storage 630 may include a limited set ofconcepts relative to a larger set of known concepts. Such a limited setof concepts may be utilized when, for example, the data storage 630 isincluded in a device having a relatively low storage capacity such as,e.g., a smartphone or other mobile device, or otherwise when lowermemory use is desirable.

The AR generator 620 is configured to receive or otherwise retrieve amultimedia content element from the local storage. The AR generator 620is further configured to initialize the signatures generator (SG) 650 togenerate at least one signature for the received the multimedia contentelement. The AR generator 620 is configured to match the generatedsignatures against the concepts stored in the storage 630. Matchingconcepts are utilized to generate the customized augmented realityenvironment as discussed in greater detail above with respect to FIG. 1.Once generated, the customized augmented reality environment isdisplayed over the display 640.

The AR generator 620 and the processing circuitry 610 can be implementedas a component of a processor (not shown) or an array of processors,examples of which are provided above.

FIG. 7 is an example flowchart S250 illustrating a method for generatinga customized augmented reality challenge according to an embodiment. Inan embodiment, the method may utilize identified metadata stored in,e.g., a storage of a user device, a database, or both.

At optional S710, metadata related to a user of a user device, to theuser device, or to both, is obtained. The metadata may be stored in astorage of the user device or in an external storage (e.g., a database).The metadata may include, but is not limited to, personal variablesassociated with the user, environmental variables associated with theuser device, or both. The metadata may further include metadataassociated with one or more multimedia content elements.

At S720, metadata related to a user of a user device, to the userdevice, to a multimedia content element, or a combination thereof, isanalyzed. The analysis may include, but is not limited to, determiningan age of the user, determining a current location of the user device,determining past challenge performance of the user, a combinationthereof, and the like.

At S730, based on the analysis, at least one augmented reality challengethreshold is determined. Each augmented reality challenge thresholdrepresents a requirement for completing the customized augmented realitychallenge, and may be based on, e.g., user response data. For example,an augmented challenge reality threshold may be a distance of 300 feetas determined based on GPS data received as a response to the augmentedreality challenge.

Each augmented reality challenge threshold may be determined based on atleast one threshold selection criterion. Further, the thresholdselection criteria used to determine the augmented reality challengethresholds may differ among users and user devices. The thresholdselection criterion may be, e.g., stored in a database, and may be basedon, but not limited to, the age of the user, the current location of theuser device, past challenge performance of the user, any relevant healthconditions, a combination thereof, and the like. For example, thethreshold selection criteria may indicate that a challenge threshold fora running challenge should be to run 100 feet in 20 seconds for an 8year old user, and to run 100 feet in 15 seconds for a 12 year old user.

At S740, the customized augmented reality challenge is generated basedon the determined challenge thresholds. In a further embodiment, S740may also include generating a notification indicating the challengethresholds and sending, to a user device, the generated notification fordisplay. In yet a further embodiment, S740 may include causing additionof the generated notification as an overlay of a multimedia contentelement.

As used herein, the phrase “at least one of” followed by a listing ofitems means that any of the listed items can be utilized individually,or any combination of two or more of the listed items can be utilized.For example, if a step in a method is described as including “at leastone of A, B, and C,” the step can include A alone; B alone; C alone; Aand B in combination; B and C in combination; A and C in combination; orA, B, and C in combination.

The various embodiments disclosed herein can be implemented as hardware,firmware, software, or any combination thereof. Moreover, the softwareis preferably implemented as an application program tangibly embodied ona program storage unit or computer readable medium consisting of parts,or of certain devices and/or a combination of devices. The applicationprogram may be uploaded to, and executed by, a machine comprising anysuitable architecture. Preferably, the machine is implemented on acomputer platform having hardware such as one or more central processingunits (“CPUs”), a memory, and input/output interfaces. The computerplatform may also include an operating system and microinstruction code.The various processes and functions described herein may be either partof the microinstruction code or part of the application program, or anycombination thereof, which may be executed by a CPU, whether or not sucha computer or processor is explicitly shown. In addition, various otherperipheral units may be connected to the computer platform such as anadditional data storage unit and a printing unit. Furthermore, anon-transitory computer readable medium is any computer readable mediumexcept for a transitory propagating signal.

All examples and conditional language recited herein are intended forpedagogical purposes to aid the reader in understanding the principlesof the disclosed embodiment and the concepts contributed by the inventorto furthering the art, and are to be construed as being withoutlimitation to such specifically recited examples and conditions.Moreover, all statements herein reciting principles, aspects, andembodiments of the disclosed embodiments, as well as specific examplesthereof, are intended to encompass both structural and functionalequivalents thereof. Additionally, it is intended that such equivalentsinclude both currently known equivalents as well as equivalentsdeveloped in the future, i.e., any elements developed that perform thesame function, regardless of structure.

What is claimed is:
 1. A method for automatically providing augmentedreality challenges, comprising: obtaining at least one multimediacontent element; causing generation of at least one signature for eachobtained multimedia content element; determining, based on the generatedsignatures, at least one augmented reality challenge; identifying, basedon the determined at least one augmented reality challenge, at least oneaugmented reality object; creating at least one challenge multimediacontent element by causing addition of the at least one augmentedreality object to the obtained at least one multimedia content element;and causing a display of the created at least one challenge multimediacontent element.
 2. The method of claim 1, further comprising:identifying metadata associated with at least one of: a user of a userdevice, the user device and the obtained at least one multimedia contentelement, wherein the at least one augmented reality challenge isdetermined further based on the identified metadata.
 3. The method ofclaim 1, further comprising: determining, based on the identifiedmetadata, whether the augmented reality challenge should be provided. 4.The method of claim 1, further comprising: obtaining user response dataassociated with the created at least one challenge multimedia contentelement; determining, based on the determined at least one augmentedreality challenge, at least one challenge threshold; determining, basedon the user response data, whether the at least one challenge thresholdwas met; and generating a notification indicating that the at least oneaugmented reality challenge was completed, when it is determined thatthe at least one challenge threshold was met.
 5. The method of claim 4,further comprising: determining, based on the user response data, a userperformance score.
 6. The method of claim 1, further comprising:generating at least one customized augmented reality challenge, whereinthe determined at least one augmented reality challenge includes the atleast one customized augmented reality challenge.
 7. The method of claim6, wherein generating the at least one customized augmented realitychallenge further comprises: analyzing metadata associated with at leastone of: a user of a user device, the user device, and the obtained atleast one multimedia content element; and determining, based on theanalysis, at least one augmented reality challenge threshold, whereinthe at least one customized augmented reality challenge is generatedbased on the at least one augmented reality challenge threshold.
 8. Themethod of claim 6, wherein the at least one augmented reality challengeis determined further based on at least one threshold selectioncriterion.
 9. The method of claim 1, wherein each signature is generatedby a signature generator system, wherein the signature generator systemincludes a plurality of computational cores configured to receive aplurality of unstructured data elements, each computational core of theplurality of computational cores having properties that are at leastpartly statistically independent of other of the computational cores,the properties are set independently of each other core.
 10. Anon-transitory computer readable medium having stored thereoninstructions for causing one or more processing units to execute amethod, the method comprising: obtaining at least one multimedia contentelement; causing generation of at least one signature for each obtainedmultimedia content element; determining, based on the generatedsignatures, at least one augmented reality challenge; identifying, basedon the determined at least one augmented reality challenge, at least oneaugmented reality object; creating at least one challenge multimediacontent element by causing addition of the at least one augmentedreality object to the obtained at least one multimedia content element;and causing a display of the created at least one challenge multimediacontent element.
 11. A system for automatically providing augmentedreality challenges, comprising: a processing circuitry; and a memory,the memory containing instructions that, when executed by the processingcircuitry, configure the system to: obtain at least one multimediacontent element; cause generation of at least one signature for eachobtained multimedia content element; determine, based on the generatedsignatures, at least one augmented reality challenge; identify, based onthe determined at least one augmented reality challenge, at least oneaugmented reality object; create at least one challenge multimediacontent element by causing addition of the at least one augmentedreality object to the obtained at least one multimedia content element;and cause a display of the created at least one challenge multimediacontent element.
 12. The system of claim 11, wherein the system isfurther configured to: identify metadata associated with at least oneof: a user of a user device, the user device and the obtained at leastone multimedia content element, wherein the at least one augmentedreality challenge is determined further based on the identifiedmetadata.
 13. The system of claim 11, wherein the system is furtherconfigured to: determine, based on the identified metadata, whether theaugmented reality challenge should be provided.
 14. The system of claim11, wherein the system is further configured to: obtain user responsedata associated with the created at least one challenge multimediacontent element; determine, based on the determined at least oneaugmented reality challenge, at least one challenge threshold;determine, based on the user response data, whether the at least onechallenge threshold was met; and generate a notification indicating thatthe at least one augmented reality challenge was completed, when it isdetermined that the at least one challenge threshold was met.
 15. Thesystem of claim 14, wherein the system is further configured to:determine, based on the user response data, a user performance score.16. The system of claim 11, wherein the system is further configured to:generate at least one customized augmented reality challenge, whereinthe determined at least one augmented reality challenge includes the atleast one customized augmented reality challenge.
 17. The system ofclaim 16, wherein the system is further configured to: analyze metadataassociated with at least one of: a user of a user device, the userdevice, and the obtained at least one multimedia content element; anddetermine, based on the analysis, at least one augmented realitychallenge threshold, wherein the at least one customized augmentedreality challenge is generated based on the at least one augmentedreality challenge threshold.
 18. The system of claim 16, wherein the atleast one augmented reality challenge is determined further based on atleast one threshold selection criterion.
 19. The system of claim 11,further comprising: a signature generator system including a pluralityof computational cores configured to receive a plurality of unstructureddata elements, each computational core of the plurality of computationalcores having properties that are at least partly statisticallyindependent of other of the computational cores, the properties are setindependently of each other core, wherein each signature is generated bythe signature generator system.